
/**
 * <copyright>
 * </copyright>
 *
 * $Id$
 */
package Apusic;

import org.eclipse.emf.ecore.EObject;

/**
 * <!-- begin-user-doc -->
 * A representation of the model object '<em><b>Http Session Cfg</b></em>'.
 * <!-- end-user-doc -->
 *
 * <p>
 * The following features are supported:
 * <ul>
 *   <li>{@link Apusic.HttpSessionCfg#getMaxSessionsInCache <em>Max Sessions In Cache</em>}</li>
 *   <li>{@link Apusic.HttpSessionCfg#getDefaultSessionTimeout <em>Default Session Timeout</em>}</li>
 *   <li>{@link Apusic.HttpSessionCfg#getSessionInvalidateCheckInterval <em>Session Invalidate Check Interval</em>}</li>
 *   <li>{@link Apusic.HttpSessionCfg#getSessionSwapCheckInterval <em>Session Swap Check Interval</em>}</li>
 *   <li>{@link Apusic.HttpSessionCfg#isDistributable <em>Distributable</em>}</li>
 *   <li>{@link Apusic.HttpSessionCfg#getSessionStoreCfg <em>Session Store Cfg</em>}</li>
 * </ul>
 * </p>
 *
 * @see Apusic.ApusicPackage#getHttpSessionCfg()
 * @model
 * @generated
 */
public interface HttpSessionCfg extends EObject
{
  /**
   * Returns the value of the '<em><b>Max Sessions In Cache</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <p>
   * If the meaning of the '<em>Max Sessions In Cache</em>' attribute isn't clear,
   * there really should be more of a description here...
   * </p>
   * <!-- end-user-doc -->
   * @return the value of the '<em>Max Sessions In Cache</em>' attribute.
   * @see #setMaxSessionsInCache(int)
   * @see Apusic.ApusicPackage#getHttpSessionCfg_MaxSessionsInCache()
   * @model
   * @generated
   */
  int getMaxSessionsInCache();

  /**
   * Sets the value of the '{@link Apusic.HttpSessionCfg#getMaxSessionsInCache <em>Max Sessions In Cache</em>}' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @param value the new value of the '<em>Max Sessions In Cache</em>' attribute.
   * @see #getMaxSessionsInCache()
   * @generated
   */
  void setMaxSessionsInCache(int value);

  /**
   * Returns the value of the '<em><b>Default Session Timeout</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <p>
   * If the meaning of the '<em>Default Session Timeout</em>' attribute isn't clear,
   * there really should be more of a description here...
   * </p>
   * <!-- end-user-doc -->
   * @return the value of the '<em>Default Session Timeout</em>' attribute.
   * @see #setDefaultSessionTimeout(int)
   * @see Apusic.ApusicPackage#getHttpSessionCfg_DefaultSessionTimeout()
   * @model
   * @generated
   */
  int getDefaultSessionTimeout();

  /**
   * Sets the value of the '{@link Apusic.HttpSessionCfg#getDefaultSessionTimeout <em>Default Session Timeout</em>}' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @param value the new value of the '<em>Default Session Timeout</em>' attribute.
   * @see #getDefaultSessionTimeout()
   * @generated
   */
  void setDefaultSessionTimeout(int value);

  /**
   * Returns the value of the '<em><b>Session Invalidate Check Interval</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <p>
   * If the meaning of the '<em>Session Invalidate Check Interval</em>' attribute isn't clear,
   * there really should be more of a description here...
   * </p>
   * <!-- end-user-doc -->
   * @return the value of the '<em>Session Invalidate Check Interval</em>' attribute.
   * @see #setSessionInvalidateCheckInterval(int)
   * @see Apusic.ApusicPackage#getHttpSessionCfg_SessionInvalidateCheckInterval()
   * @model
   * @generated
   */
  int getSessionInvalidateCheckInterval();

  /**
   * Sets the value of the '{@link Apusic.HttpSessionCfg#getSessionInvalidateCheckInterval <em>Session Invalidate Check Interval</em>}' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @param value the new value of the '<em>Session Invalidate Check Interval</em>' attribute.
   * @see #getSessionInvalidateCheckInterval()
   * @generated
   */
  void setSessionInvalidateCheckInterval(int value);

  /**
   * Returns the value of the '<em><b>Session Swap Check Interval</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <p>
   * If the meaning of the '<em>Session Swap Check Interval</em>' attribute isn't clear,
   * there really should be more of a description here...
   * </p>
   * <!-- end-user-doc -->
   * @return the value of the '<em>Session Swap Check Interval</em>' attribute.
   * @see #setSessionSwapCheckInterval(int)
   * @see Apusic.ApusicPackage#getHttpSessionCfg_SessionSwapCheckInterval()
   * @model
   * @generated
   */
  int getSessionSwapCheckInterval();

  /**
   * Sets the value of the '{@link Apusic.HttpSessionCfg#getSessionSwapCheckInterval <em>Session Swap Check Interval</em>}' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @param value the new value of the '<em>Session Swap Check Interval</em>' attribute.
   * @see #getSessionSwapCheckInterval()
   * @generated
   */
  void setSessionSwapCheckInterval(int value);

  /**
   * Returns the value of the '<em><b>Distributable</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <p>
   * If the meaning of the '<em>Distributable</em>' attribute isn't clear,
   * there really should be more of a description here...
   * </p>
   * <!-- end-user-doc -->
   * @return the value of the '<em>Distributable</em>' attribute.
   * @see #setDistributable(boolean)
   * @see Apusic.ApusicPackage#getHttpSessionCfg_Distributable()
   * @model
   * @generated
   */
  boolean isDistributable();

  /**
   * Sets the value of the '{@link Apusic.HttpSessionCfg#isDistributable <em>Distributable</em>}' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @param value the new value of the '<em>Distributable</em>' attribute.
   * @see #isDistributable()
   * @generated
   */
  void setDistributable(boolean value);

  /**
   * Returns the value of the '<em><b>Session Store Cfg</b></em>' reference.
   * <!-- begin-user-doc -->
   * <p>
   * If the meaning of the '<em>Session Store Cfg</em>' reference isn't clear,
   * there really should be more of a description here...
   * </p>
   * <!-- end-user-doc -->
   * @return the value of the '<em>Session Store Cfg</em>' reference.
   * @see #setSessionStoreCfg(HttpSessionStoreCfg)
   * @see Apusic.ApusicPackage#getHttpSessionCfg_SessionStoreCfg()
   * @model
   * @generated
   */
  HttpSessionStoreCfg getSessionStoreCfg();

  /**
   * Sets the value of the '{@link Apusic.HttpSessionCfg#getSessionStoreCfg <em>Session Store Cfg</em>}' reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @param value the new value of the '<em>Session Store Cfg</em>' reference.
   * @see #getSessionStoreCfg()
   * @generated
   */
  void setSessionStoreCfg(HttpSessionStoreCfg value);

} // HttpSessionCfg
